package goods

type Common struct {
	CreateTime string `gorm:"column:create_time" json:"createTime"`
	UpdateTime string `gorm:"column:update_time" json:"updateTime"`
}

// Goods 商品表
type Goods struct {
	UpdateDb
	Common
}

type UpdateDb struct {
	Id             int    `gorm:"column:id" json:"id"`                          // ID
	PlaceId        int    `gorm:"column:place_id" json:"placeId"`               // 网点ID
	Status         uint8  `gorm:"column:status" json:"status"`                  // 状态 1-未上架 2-已上架 3-已下架 4-已删除
	Type           uint8  `gorm:"column:type" json:"type"`                      // 类型 1-线充优惠券 2-虚拟商品 3-实物商品
	BuyType        uint8  `gorm:"column:buy_type" json:"buyType"`               // 兑换类型 1-默认 2-盲盒/抽奖
	Probability    uint8  `gorm:"column:probability" json:"probability"`        // 抽奖概率 0～100
	Price          int    `gorm:"column:price" json:"price"`                    // 价格 单位：分
	DiscountAmount int    `gorm:"column:discount_amount" json:"discountAmount"` // 优惠金额 单位：分
	CouponId       int    `gorm:"column:coupon_id" json:"couponId"`             // 优惠券ID
	Num            int    `gorm:"column:num" json:"num"`                        // 数量
	SellNum        int    `gorm:"column:sell_num" json:"sellNum"`               // 已出售数量
	Icon           string `gorm:"column:icon" json:"icon"`                      // 商品图标
	ImgList        string `gorm:"column:img_list" json:"imgList"`               // 商品图标
	BrandName      string `gorm:"column:brand_name" json:"brandName"`           // 品牌名称
	Name           string `gorm:"column:name" json:"name"`                      // 商品名称
	TypeName       string `gorm:"column:type_name" json:"typeName"`             // 类型名称
	Message        string `gorm:"column:message" json:"message"`
}

func (m *UpdateDb) TableName() string {
	return "goods"
}

// Orders 商品订单列表
type Orders struct {
	//Id           int    `gorm:"column:id" json:"id"`                      // ID
	//MemberId     int    `gorm:"column:member_id" json:"memberId"`         // 会员ID
	//PlaceId      int    `gorm:"column:place_id" json:"placeId"`           // 网点ID
	//GoodsId      int    `gorm:"column:goods_id" json:"goodsId"`           // 商品ID
	//PlaceName    string `gorm:"column:place_name" json:"placeName"`       // 网点名称
	//PlaceAddress string `gorm:"column:place_address" json:"placeAddress"` // 网点地址
	//Address      string `gorm:"column:address" json:"address"`            // 网点地址
	//AddressId    int    `gorm:"column:address_id" json:"addressId"`       // 收货地址ID
	//Status       uint8  `gorm:"column:status" json:"status"`              // 订单状态 1-待支付 2-已支付 3-待发货 4-已发货
	//PayType      uint8  `gorm:"column:pay_type" json:"payType"`           // 支付类型 1-商家兑换 2-微信支付 3-支付宝支付
	//Amount       int    `gorm:"column:amount" json:"amount"`              // 支付金额 单位：分
	//Message      string `gorm:"column:message" json:"message"`
	OrderUpdate

	PayTime       string `gorm:"column:pay_time" json:"payTime"`
	LogisticsTime string `gorm:"column:logistics_time" json:"logisticsTime"`
	CreateTime    string `gorm:"column:create_time" json:"createTime"`
	UpdateTime    string `gorm:"column:update_time" json:"updateTime"`
}

type OrderUpdate struct {
	Id             int    `gorm:"column:id" json:"id"`                      // ID
	MemberId       int    `gorm:"column:member_id" json:"memberId"`         // 会员ID
	PlaceId        int    `gorm:"column:place_id" json:"placeId"`           // 网点ID
	GoodsId        int    `gorm:"column:goods_id" json:"goodsId"`           // 商品ID
	PlaceName      string `gorm:"column:place_name" json:"placeName"`       // 网点名称
	PlaceAddress   string `gorm:"column:place_address" json:"placeAddress"` // 网点地址
	Address        string `gorm:"column:address" json:"address"`            // 网点地址
	AddressId      int    `gorm:"column:address_id" json:"addressId"`       // 收货地址ID
	Status         uint8  `gorm:"column:status" json:"status"`              // 订单状态 1-待支付 2-已支付 3-待发货 4-已发货
	PayType        uint8  `gorm:"column:pay_type" json:"payType"`           // 支付类型 1-商家兑换 2-微信支付 3-支付宝支付
	Amount         int    `gorm:"column:amount" json:"amount"`              // 支付金额 单位：分
	Message        string `gorm:"column:message" json:"message"`
	ThirdTradeNo   string `gorm:"column:third_trade_no" json:"ThirdTradeNo"`    // 第三方 订单编号
	TradeNo        string `gorm:"column:trade_no" json:"tradeNo"`               // 订单编号
	DeviceSn       string `gorm:"column:device_sn" json:"deviceSn"`             // 设备
	BuyNum         int    `gorm:"column:buy_num" json:"BuyNum"`                 // 订单编号
	Price          int    `gorm:"column:price" json:"price"`                    // 订单编号
	NotificationId int    `gorm:"column:notification_id" json:"notificationId"` // 通知ID
	UserId         int    `gorm:"column:user_id" json:"userId"`                 // 商户ID
}

func (m *OrderUpdate) TableName() string {
	return "goods_orders"
}

type BuyCart struct {
	BuyCartUpdate
	Common
}

type BuyCartUpdate struct {
	Id       int `gorm:"column:id" json:"id"`              // ID
	MemberId int `gorm:"column:member_id" json:"memberId"` // 会员ID
	PlaceId  int `gorm:"column:place_id" json:"placeId"`   // 网点ID
	GoodsId  int `gorm:"column:goods_id" json:"goodsId"`   // 商品ID
	BuyNum   int `gorm:"column:buy_num" json:"buyNum"`     // 数量
	Price    int `gorm:"column:price" json:"oldPrice"`     // 价格
}

func (m *BuyCartUpdate) TableName() string {
	return "goods_buy_cart"
}
